////////////////////////////////////////////////////////////////////////////////////////////////////////
// Name:	Goal_Obey.h
//
// Author:	Onyebuchi Ekenta
//
// Purpose: The Goal_Obey is the father, or "brain" goal for all other goals of characters. It is
//			responsible for taking in messages, which are forwarded to it from the Character class
//			and creating and scheduling subgoals based on the messages it receives
///////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef GOAL_OBEY_H
#define GOAL_OBEY_H

#include "GoalComposite.h"

class Character;
struct Message;

class Goal_Obey : public Goal_Composite<Character>
{
private:

public:
	Goal_Obey(Character* aChar);

	// Must be implemented.
	void	Activate();
	int		Process();
	void	Terminate();

	bool HandleMessage(const Message& msg);

	void	AddGoal_FollowOffsetPath(Path* aPath, Vector2D offset);
};


#endif